// let/const
// 无变量提升：
// 块级作用域：定义的变量，只能在{}中使用
// 暂时性死区：不能在声明变量之前，使用变量
// 全局变量与window对象脱钩：
// 同名变量不能重复声明：

// const：常量（不能修改常量值，声明常量时必须赋初始值）

// 
const obj = {};
obj.name = "Hydra"; // 正确

// obj = {}; // 错误

let obj2 = {
    name: "Hydra",
    friend: {
        name: "Mary"
    }
}

// 冻结：不能修改对象的属性值，不能删除对象的属性
Object.freeze(obj2);
obj2.name = "奉先";
delete obj2.name;

obj2.friend.name = "Kate";
console.log("obj2.friend.name =",obj2.friend.name);

// 常量、浅拷贝、冻结
// 深拷贝、深冻结